#pragma once

#include <iostream>
#include <string>

 

class Singleton
{
private :
	static Singleton* s_Instance;

public :
	static Singleton& Get() { return *s_Instance; }
	void Hello() { } 
	
};

Singleton* Singleton::s_Instance = nullptr;


class Singleton2
{ 
public:
	static Singleton2& Get() 
	{
		static Singleton2 instance;
		return instance;
	}
	void Hello() { } 
};
 
 
//================================================
 
int RunExample023()
{
	Singleton::Get().Hello(); 
	Singleton2::Get().Hello(); 
	 
	return 0;
}